/**
 * 接口 [查询通话记录列表(全部任务)↗](http://172.30.66.94:3000/project/29/interface/api/4825) 的 **请求类型**
 */
export interface CallrecordsReportRequest {
  /**
   * 每页条数
   */
  pageSize?: number;
  /**
   * 当前页码
   */
  pageNo?: number;
  /**
   * 任务名称
   */
  taskName?: string;
  /**
   * 流程分类  0:机器人流程，1：通知流程，2：人机协同，3：人工自动外呼
   */
  flowType?: number;
  /**
   * 通话状态
   */
  callStatus?: number[];
  /**
   * 开始时间
   */
  beginTime?: string;
  /**
   * 结束时间
   */
  endTime?: string;
  /**
   * 机器人名称
   */
  robotName?: string;
  /**
   *转接人工状态：0：未转；1：成功；2：失败
   */
  transferManualStatus?: number[];
  /**
   * 通话时长范围-最小值
   */
  callTalkTimeMin?: number;
  /**
   * 通话时长范围-最大值
   */
  callTalkTimeMax?: number;
}

/**
 * 接口 [查询通话记录列表(全部任务)↗](http://172.30.66.94:3000/project/29/interface/api/4825) 的 **返回类型**
 */
export interface CallrecordsReportResponse {
  /**
   * 通话记录ID
   */
  callRecordId: string;
  /**
   * 项目名称
   */
  projectName: string;
  /**
   * 省
   */
  province: string;
  /**
   * 市
   */
  cityName: string;
  /**
   * 呼叫号码
   */
  calledNumber: string;
  /**
   * 客户名称
   */
  calledName: string;
  /**
   * 客户性别
   */
  calledSex: string;
  /**
   * 客户类型
   */
  calledType: string;
  /**
   * 通话类型  1.人机协同 2.人工介入（只要坐席介入了都算），3 机器人（普通机器人 和 通知机器人）
   */
  callType: number;
  /**
   * 呼叫结果  1、成功；2、关机；3、空号；4、停机；5、正在通话中；6、用户拒接；7、无法接通；8、暂停服务；9、用户正忙；10、拨号方式不正确；11、呼入限制；12、来电提醒（各类秘书服务）；13、呼叫转移失败；14、网络忙；15、无人接听；16、欠费；17、无法接听；18、改号；19、线路故障（线路不能呼出，比如SIM卡欠费）；20、稍后再拨（各种稍后再拨提示）
   */
  callStatus: number;
  /**
   * 人工介入时间
   */
  transferManualBeginTime: string;
  /**
   * 人工介入时长
   */
  transferManualInterval: number;
  /**
   * 交互方式 TTS&录音 0-TTS放音 1-文件放音 (TTS&录音)
   */
  soundType: number;
  /**
   * 沟通路径
   */
  communicationPath: string;
  /**
   * 用户意图
   */
  userIntention: string;
  /**
   * 坐席组名称
   */
  seatsGroupName: string;
  /**
   * 坐席姓名
   */
  seatsName: string;
  /**
   * 坐席工号
   */
  seatsNumber: string;
  /**
   * 起呼时间
   */
  callBeginTime: string;
  /**
   * 接通时间
   */
  callConnectedTime: string;
  /**
   * 挂机时间
   */
  callEndTime: string;
  /**
   * 通话时长
   */
  callTalkTime: number;
  /**
   * 挂机方 挂断方 1-用户, 2-座席, 3-平台，4-机器人
   */
  hangupDirect: number;
  /**
   * 租户ID 租户ID对应企业ID
   */
  companyId: number;
  /**
   * 任务名称
   */
  taskName: string;
  /**
   * 场景名称 机器人名称
   */
  robotName: string;
  /**
   * 任务类型 0:机器人流程，1：通知流程,，2:人机协同
   */
  flowType: number;
  /**
   * 按键信息 所有的按键 及 按键收集 的信息
   */
  keyInfo: string;
  /**
   * 机器人通话时长 总通话时长 - 人工介入时长
   */
  robotCallTalkTime: number;
  /**
   * 机器人对话轮次 机器人与用户的对话次数
   */
  robotCallTalkRound: number;
  /**
   * 主叫号码
   */
  callerNumber: string;
  /**
   *转接人工状态：0：未转；1：成功；2：失败
   */
  transferManualStatus?: number;
  /**
   * 转接人工等待的时长
   */
  transferManualWaitInterval?: number;
  /**
   * 呼叫日期 精确到日
   */
  callBeginDate?: string;
  /**
   * 号码归属地（系统）
   */
  ownCityName?: string;
  /**
   * 被叫备注
   */
  calledRemark?: string;
  /**
   * 执行次数
   */
  callRound?: number;
  /**
   * 机器人标识
   */
  nluId?: string;
  soundRecord?: {
    /**
     * 录音地址
     */
    url: string;
    /**
     * 录音时长(s)
     */
    time: number;
    recordList: {
      /**
       * 话者角色 0：用户 1：机器人， 2：平台（如：转人工开始，转人工结束），3：人工坐席
       */
      role: number;
      /**
       * 0：未理解，1：正常
       */
      status: number;
      /**
       * 文本
       */
      text: string;
      /**
       * 通话内容排列序号
       */
      index: number;
      /**
       * 时间
       */
      time: string;
      /**
       * 语音地址（role为  “1：用户， 2：人工坐席” 时有值）
       */
      url: string;
    }[];
    /**
     * 如果没有转人工，该值为空对象 "{}"
     */
    transferManual: {
      /**
       * 转人工时间
       */
      time: string;
      /**
       * 客服名称
       */
      customerServiceName: string;
    };
  };
  callsummary?: {
    /**
     * 成访结果 true:成功；false:失败
     */
    visitResult: boolean;
    /**
     * 销售结果 true:成功；false:失败
     */
    marketingResult: boolean;
    /**
     * 备注
     */
    remarks?: string;
  };
}
